/**
 * 火花分镜功能类型定义
 * 用于将文本文档转换为分镜脚本的AI功能
 */

/**
 * 视频风格枚举
 */
export enum VideoStyle {
  DYNAMIC = 'dynamic',        // 动态剪辑风格
  STATIC = 'static',          // 静态镜头风格
  DOCUMENTARY = 'documentary', // 纪录片风格
  COMMERCIAL = 'commercial'    // 广告风格
}

/**
 * 火花分镜配置
 * 注意：当前StoryboardData实际存储时不包含videoFormat字段
 * 仅保存基础的场景列表和总时长
 */
export interface SparkStoryboardConfig {
  // 视频基础参数
  targetDuration: number        // 目标总时长(秒) 15-300
  videoStyle: VideoStyle        // 视频风格(仅影响AI生成场景的风格)

  // 文章来源
  articleId: string             // 文章ID
  articleTitle: string          // 文章标题
}

/**
 * AI分镜生成请求
 */
export interface StoryboardGenerationRequest {
  config: SparkStoryboardConfig
  articleContent: string        // 文章HTML内容
  articlePlainText: string      // 文章纯文本(用于分析)
}

/**
 * 生成进度状态
 */
export interface GenerationProgress {
  phase: 'analyzing' | 'generating' | 'completing'
  message: string
  percentage: number // 0-100
}

/**
 * 视频风格的中文描述映射
 */
export const VIDEO_STYLE_LABELS: Record<VideoStyle, string> = {
  [VideoStyle.DYNAMIC]: '动态剪辑',
  [VideoStyle.STATIC]: '静态镜头',
  [VideoStyle.DOCUMENTARY]: '纪录片',
  [VideoStyle.COMMERCIAL]: '广告'
}

/**
 * 视频风格的详细说明
 */
export const VIDEO_STYLE_DESCRIPTIONS: Record<VideoStyle, string> = {
  [VideoStyle.DYNAMIC]: '多镜头切换，节奏明快，适合产品展示、活动记录',
  [VideoStyle.STATIC]: '固定镜头，画面稳定，适合访谈、演讲、教学',
  [VideoStyle.DOCUMENTARY]: '纪实风格，长镜头为主，适合故事叙述、深度报道',
  [VideoStyle.COMMERCIAL]: '精致构图，视觉冲击，适合营销推广、品牌宣传'
}
